Method and apparatus for providing a three-dimensional data navigation and manipulation interface

ABSTRACT

Various methods for providing a multi-dimensional data interface are provided. One example method may include receiving first data navigation instructions for navigating data in a first dimension or a second dimension via a first user interface device, causing a presentation of the data to be modified within the first dimension or the second dimension in response to at least receiving the first data navigation instructions, receiving second data navigation instructions for navigating the data in a third dimension via a second user interface device, and causing the presentation of the data to be modified within a third dimension in response to at least receiving the second data navigation instructions. Similar and related example methods, example apparatuses, and example computer program products are also provided.

TECHNICAL FIELD

Various embodiments relate generally to user interface functionality,and, more particularly, relate to a method and apparatus for providing amulti-dimensional data interface.

BACKGROUND

As computing and communications devices become increasingly more dynamicand convenient, users of the devices have become increasingly reliant onthe functionality offered by the devices in a variety of settings. Dueto advances made in screen technologies, and other user interface inputdevices and hardware, users continue to demand more convenient andintuitive user interfaces. To meet the demands of users or encourageutilization of new functionality, innovation in the design and operationof user interfaces must keep pace.

SUMMARY

Example methods, example apparatuses, and example computer programproducts are described herein that provide a multi-dimensional datainterface. One example method may include receiving first datanavigation instructions for navigating data in a first dimension or asecond dimension via a first user interface device, and causing apresentation of the data to be modified within the first dimension orthe second dimension in response to at least receiving the first datanavigation instructions. The example method may also include receivingsecond data navigation instructions for navigating the data in a thirddimension via a second user interface device, and causing thepresentation of the data to be modified within a third dimension inresponse to at least receiving the second data navigation instructions.

An additional example embodiment is an apparatus configured to provide amulti-dimensional data interface. The example apparatus may comprise atleast one processor and at least one memory including computer programcode, where the at least one memory and the computer program code areconfigured to, with the at least one processor, cause the apparatus toperform various functionalities. In this regard, the example apparatusmay be caused to receive first data navigation instructions fornavigating data in a first dimension or a second dimension via a firstuser interface device, cause a presentation of the data to be modifiedwithin the first dimension or the second dimension in response to atleast receiving the first data navigation instructions, receive seconddata navigation instructions for navigating the data in a thirddimension via a second user interface device, and cause the presentationof the data to be modified within a third dimension in response to atleast receiving the second data navigation instructions.

Another example embodiment is a computer program product comprising atleast one non-transitory computer readable medium having computerprogram code stored thereon, wherein the computer program code, whenexecuted by an apparatus (e.g., one or more processors), causes anapparatus to perform various functionalities. In this regard, theprogram code may cause the apparatus to receive first data navigationinstructions for navigating data in a first dimension or a seconddimension via a first user interface device, cause a presentation of thedata to be modified within the first dimension or the second dimensionin response to at least receiving the first data navigationinstructions, receive second data navigation instructions for navigatingthe data in a third dimension via a second user interface device, andcause the presentation of the data to be modified within a thirddimension in response to at least receiving the second data navigationinstructions.

Another example apparatus comprises means for receiving first datanavigation instructions for navigating data in a first dimension or asecond dimension via a first user interface device, means for causing apresentation of the data to be modified within the first dimension orthe second dimension in response to at least receiving the first datanavigation instructions, means for receiving second data navigationinstructions for navigating the data in a third dimension via a seconduser interface device, and means for causing the presentation of thedata to be modified within a third dimension in response to at leastreceiving the second data navigation instructions.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described some example embodiments in general terms,reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIGS. 1A, 1B, and 1C illustrate an example electronic device thatprovides a multi-dimensional data interface according to some exampleembodiments;

FIGS. 2A and 2B illustrate example handlings of, and user interactionwith, an electronic device in accordance with some example embodiments;

FIG. 3 illustrates a visualization of interaction with a time-basedapplication according to an example embodiment;

FIG. 4 illustrates another handling of, and interaction with, anelectronic device configured to perform a relevancy analysis accordingto an example embodiment;

FIG. 5 illustrates a block diagram of an apparatus that is configured toprovide a multi-dimensional data interface according to an exampleembodiment;

FIG. 6 illustrates a block diagram of a mobile device configured toprovide a multi-dimensional data interface according to an exampleembodiment;

FIG. 7 illustrates a flow chart of an example method for providing amulti-dimensional data interface according to some example embodiments

FIG. 8 illustrates an example implementation of a virtual flip board.

DETAILED DESCRIPTION

Example embodiments will now be described more fully hereinafter withreference to the accompanying drawings, in which some, but not allembodiments are shown. Indeed, the embodiments may take many differentforms and should not be construed as limited to the embodiments setforth herein; rather, these embodiments are provided so that thisdisclosure will satisfy applicable legal requirements. Like referencenumerals refer to like elements throughout. The terms “data,” “content,”“information,” and similar terms may be used interchangeably, accordingto some example embodiments, to refer to data capable of beingtransmitted, received, operated on, and/or stored. Further, the term“or” as used herein is not used in an exclusive manner (i.e., as anexclusive-or), but is defined as an operator that includes at least oneoption in a collection, and possibly one or more other options withinthe collection.

As used herein, the term ‘circuitry’ refers to all of the following: (a)hardware-only circuit implementations (such as implementations in onlyanalog and/or digital circuitry); (b) to combinations of circuits andsoftware (and/or firmware), such as (as applicable): (i) to acombination of processor(s) or (ii) to portions of processor(s)/software(including digital signal processor(s)), software, and memory(ies) thatwork together to cause an apparatus, such as a mobile phone or server,to perform various functions); and (c) to circuits, such as amicroprocessor(s) or a portion of a microprocessor(s), that requiresoftware or firmware for operation, even if the software or firmware isnot physically present.

This definition of ‘circuitry’ applies to all uses of this term in thisapplication, including in any claims. As a further example, as used inthis application, the term “circuitry” would also cover animplementation of merely a processor (or multiple processors) or portionof a processor and its (or their) accompanying software and/or firmware.The term “circuitry” would also cover, for example and if applicable tothe particular claim element, a baseband integrated circuit orapplications processor integrated circuit for a mobile phone or asimilar integrated circuit in a server, a cellular network device, orother network device.

According to various example embodiments, methods and apparatuses areprovided that support a multi-dimensional data interface. In thisregard, according to some example embodiments, an apparatus is describedthat supports the ability to interact with data in three dimensions on ahandheld electronic device, such as mobile phone (e.g., smart phone),media player, media tablet/pad, or the like. The electronic device mayinclude at least two user interface devices that may be used fornavigating data in three dimensions. According to some exampleembodiments, a first user interface device may be a touch screendisplay. The touch screen display may be configured to receive, andrelay to a processor, data navigation instructions provided by a userfor interaction with data relative to a first dimension and a seconddimension (e.g., the x and y dimensions). Further, the electronic devicemay include a second user interface device, which may, according to someexample embodiments, be in the form of a touch sensitive stripe that isdisposed on a side edge or back face of the electronic device. The touchsensitive stripe may be configured to receive, and relay to a processor,data navigation instructions provided by a user for interaction withdata relative to a third dimension (e.g., the z dimension).

Via these user interface devices, a user may be able to navigate data inthree dimensions, thereby enabling the user, according to some exampleembodiments, to interface with complex collections of data in anintuitive manner. The navigation of data in three dimensions asdescribed herein may be applied in a number of implementation formatsand applications. For example, three dimensional data navigation (thatincludes a “depth” dimension) may be performed within athree-dimensional gaming environment, within a three-dimensionalrendering of a database table structure, with respect to a readerapplication where navigation of data with respect to depth is associatedwith turning pages forward to backward in a book or magazine. Further,geo-mapping applications that provide a street view-type feature maysupport three-dimensional navigation to permit virtual movement withinthe rendered environment.

As a result of such an interface, according to various exampleembodiments, data may be organized without being limited totwo-dimensional presentations (e.g., scrollable lists and the like), butrather three-dimensional presentations of data may be used that add anelement of, for example, “depth” to the presentation of data.Additionally, according to some example embodiments, utilization of thedata navigation instructions via a second user interface device (e.g., atouch sensitive stripe) may offer an alternative to some two-dimensionalgestures (e.g., pinch to zoom) that attempt to provide to the ability tonavigate data in a third dimension.

Another example implementation of three-dimensional navigation, where adepth aspect is present, is a virtual flip board implementation asdepicted in FIG. 8. The electronic device 100 may be instructed, via thesecond user interface device (e.g., a touch sensitive stripe) on theright edge of the electronic device 100 to flip or page through a seriesof displayed objects (e.g., pages). As one page is turned, another isexposed, revealing more information behind the original page. This givesthe impression that the interaction includes an aspect of depth.Repeated or continual movement by the user can result in the turning ofmultiple pages. As the user interacts with the second user interfacedevice (as further described below), the pages are turned by depictingeach page as pivoting about a flip axis 800. In the example embodimentdepicted in FIG. 8, the flip axis is oriented vertically and central tothe display screen. However, other placements of the flip axis 800 arecontemplated, such as, for example, on an edge of the display screen,and/or in a horizontal or diagonal orientation. The use of the virtualflip board, for example as depicted in FIG. 8, may be applied in a webbrowser application to turn between web pages (e.g., as an alternativeto tabbed webpages), in a digital reader application for reading books,magazines, and the like, or in a photo album application to flip thougha collection of photos.

FIG. 1A illustrates an example electronic device 100 that includes twouser interface devices to support three-dimensional data navigation. Theelectronic device 100 may be a mobile phone (e.g., smart phone), mediaplayer, media tablet/pad, or the like. As depicted and oriented in theFIG. 1A, the housing of the electronic device may have a top edge 101, aleft side edge 102, a front face 103, a bottom edge 104, a right sideedge 105, and a back face 106 (opposite the front face 103). Theelectronic device 100 may include a first user interface device, thatis, for example, in the form of a touch screen display 110 that isdisposed on the front face 103. The touch screen display 110 may beconfigured to detect touch or hover events as a user's finger (e.g.,thumb, index finger, or the like) or a pointing device comes intoproximity (e.g., contact) with the touch screen display. The touchscreen display may be constructed based on capacitive sensing, resistivesensing, acoustic wave sensing, or similar technologies. Accordingly,the touch screen display may be configured to detect the userinteraction with the display within a plane defined by the front face103 of the electronic device. In this regard, a user may interact withthe touch screen display 110 to cause movement of, or other interactionswith, displayed objects within the plane, and the two dimensions,defined by the front face 103.

The electronic device 100 may also include at least a second userinterface device, that is, for example, in the form of a touch sensitivestripe 115. The touch sensitive stripe 115 may be disposed on a rightside edge 105 of the electronic device 105 (as depicted in FIG. 1B),although other additional or alternative edges may include a touchsensitive strip. In this regard, as depicted in FIG. 1C, the electronicdevice 100 may, alternatively or additionally, include a touch sensitivestripe 120 on the back face 103 of the electronic device 100. The touchsensitive stripe, or a similarly positioned second user interfacedevice, may be configured to receive and provide user inputs asdescribed herein with respect to the touch sensitive stripe 115,although the touch sensitive stripe 120 is oriented differently due tobeing affixed to the back face of the electronic device. The touchsensitive stripes 115 and 120 may also be constructed using capacitivesensing, resistive sensing, acoustic wave sensing, or similartechnologies.

Touch sensitive stripe 115 may be configured to at least detect userinteraction with the stripe in directions that are orthogonal to theplane defined by the front face 103 (e.g., in directions that areoriented into the display 110 or out of the display 110). According tosome example embodiments, a user may move the palm of her hand acrossthe touch sensitive stripe 115 moving from the front face 103 toward thebottom face, or the reverse, to provide data navigation instructionsrelative to a third dimension. (See FIG. 2A, which illustrates thepositioning and movement of a right hand 205 to provide data navigationinstructions relative to a third dimension.) Based on the datanavigation instructions provided and received via the touch screendisplay 110 and the touch sensitive stripe 115, the presentation of datamay be modified in three dimensions. In contrast, touch sensitive stripe120 may be configured to receive user navigation instructions inresponse to user interaction in a second plane, where the second planeis substantially parallel to the first plane and defined by a secondsurface of the electronic device (e.g., the back face).

While FIG. 1A illustrates the second user interface device as the touchsensitive stripe 115, it is contemplated that many other user interfacedevices may be used in lieu of a touch sensitive stripe. For example, aroller wheel may alternatively be disposed on an edge of the electronicdevice 100 to provide data navigation instructions relative to a thirddimension. Alternately, a trackball, optical trackpad, two-way slider,or a series of buttons (e.g., a two or multi-direction rocker button)may be utilized.

FIG. 2A illustrates how the electronic device 100 may be handled andutilized according to various example embodiments. In FIG. 2A, the useris holding the electronic device 100 with her left hand, and istherefore able to provide data navigation instructions in first orsecond dimensions via movement and interaction of the user's thumb 200.The four direction arrow indicates that the touch screen display isconfigured to receive the data navigation instructions in the first orsecond dimensions defined by a plane of the front face of the electronicdevice 100. The user's right hand 205 is then free interact with thetouch sensitive stripe in a direction into and out of the plane definedby the front face of the electronic device (as indicated by the twodirection arrow). As such, in response to interaction between the user'sright hand 205 and the touch sensitive stripe 115, a presentation ofdata may be modified relative to a third dimension (e.g., the depth ofthe presentation may be modified). Further, the electronic device may beconfigured to be responsive to simultaneous interaction with both thetouch screen display and the touch sensitive stripe. For example, a usermay move a cursor in the z direction while simultaneous moving in thecursor in an xy direction to achieve simultaneous three-dimensionalmovement. This technique may also be implemented in gaming applicationsto permit movement into or out of the screen using the touch sensitivestripe, while simultaneously steering a rendered object via interactionwith the touch screen display.

FIG. 2B illustrates an alternative handling of the electronic device 100with a single hand. In this regard, the user may grip the electronicdevice 100 such that the user's thumb may still interact with the touchscreen display 110, but at least one of the user's other fingers may bepositioned to interface with the touch sensitive stripe. For example,the user's finger at 300 may swipe forward or backward across the touchsensitive stripe to provide data navigation instructions relative to athird dimension.

Being able to navigate data in three dimensions may permit number ofdata presentation capabilities to be implemented. For example, accordingto some example embodiments, a user may be able to navigate a page of amagazine or book in two dimensions using a first user interface device(e.g., a touch screen display), but change pages forwards or backwardsvia interaction with the second user interface device (e.g., the touchsensitive stripe). Similarly, photos may be browsed in the same mannerwhere interaction with the second user interface device moves betweenphotos in a collection. Also, data navigation instructions received viathe second user interface device may permit flipping through webpages orswitching between active tasks being implemented by the electronicdevice 100. Further, data navigation instructions received via thesecond user interface device may permit image or other data to bedigitally zoomed in and out. Alternatively, if a user has implemented amapping application that uses a street view perspective, interactionwith the first user interface device may permit a user to change thedirection of her view frame (e.g., permit the user to look around fromthe same location), while interaction with the second user interfacedevice may permit a user to move (e.g., walk) forward or backward tochange the location from which the surroundings are viewed. Additionallyor alternatively, in some example embodiments, the instructions receivedfrom the first and second user interface devices may select or define adata point or grid point within a three dimensional image or otherpresentation that can subsequently be rotated about the selected datapoint in any direction. Further, in other example embodiments, the useof three dimensional image interaction may be utilized to, for example,modify the shape of a three-dimensional rendered object. In this regard,a point on a three-dimensional object may be selected and that point maybe manipulated in three-dimensions to change the shape of the object,thereby enabling virtual clay or three-dimensional sculptingapplications and techniques.

Being able to navigate data in three dimensions, also permits data to bepresented where the third dimension is time. FIG. 3 illustrates oneexample application and virtual representation of the ability tonavigate through time using the data navigation instructions receivedvia a second user interface device. In FIG. 3, the user is able tonavigate within a given temporal unit (e.g. month, day, time, etc.) vianavigation instructions received via a first user interface device.However, the electronic device is also configured to support thepresentation of movement through time (e.g., into the past or into thefuture) via navigation instructions received via a second user interfacedevice. In this regard, FIG. 3 illustrates the virtual appearance ofmoving through temporal units 400 via movement of the user's right hand410 to interact with the second user interface device that causes thepresented temporal unit to change with respect to time (also referred toas movement through a time tunnel).

According to various example embodiments, the information presented withrespect to a particular temporal unit may be defined based on acalculated relevance of the information with respect to the temporalunit. For example, calendar events for the temporal unit may bepresented with photos taken during the temporal unit, messages receivedor sent during the temporal unit, or the like. FIG. 4 illustratesanother example handling of an electronic device that is configuredperform a temporal relevance analysis and permit movement through timevia interaction between the user's right hand 405 and a second userinterface device on the right side edge of the electronic device (asdescribed above). Icons at 400 may be shortcuts to frequently-usedapplications and access to a main menu. Icons at 410 may be defined asrelevance categories for selection to change (e.g., broaden or lessen)the information being presented. The touch screen display may beconfigured to receive navigation instructions in two dimensions viainteraction with and movement by the user's thumb 420. The presentationof information on the display at 415 may be configured such that thepositioning of the objects on the screen is based on the objects'relevance. In this regard, for example, the most relevant objects may bepositioned near or at the center of the presentation area.

Having described some example embodiments above, FIGS. 5 and 6 depictexample apparatuses that may be configured to perform variousfunctionalities as described herein, including those described withrespect to FIGS. 1A through 4. Additionally, FIG. 7 illustrates anexample method or algorithm that may be performed by the apparatuses ofFIGS. 5 and 6, and incorporate the various features and functionalitiesdescribed herein.

Referring now to FIG. 5, an example embodiment is depicted as apparatus500, which may be embodied as an electronic device, such as a wirelesscommunications device. In some example embodiments, the apparatus 500may be part of a mobile electronic device. As a mobile device, theapparatus 500 may be a mobile and/or wireless communications node suchas, for example, a mobile and/or wireless server, computer, accesspoint, handheld wireless device (e.g., telephone, tablet/pad device,portable digital assistant (PDA), mobile television, gaming device,camera, video recorder, audio/video player, radio, digital book reader,and/or a global positioning system (GPS) device), any combination of theaforementioned, or the like. Regardless of the type of electronicdevice, apparatus 500 may also include computing capabilities.

FIG. 5 illustrates a block diagram of example components of theapparatus 500, which may be embodied as a electronic device 100 or acomponent of the electronic device 100. The example apparatus 500 maycomprise or be otherwise in communication with a processor 505, a memorydevice 510, an Input/Output (I/O) interface 506, a user interface 525,and a user interface manager 540. The processor 505 may, according tosome example embodiments, be embodied as various means for implementingthe various functionalities of example embodiments including, forexample, a microprocessor, a coprocessor, a controller, aspecial-purpose integrated circuit such as, for example, an ASIC(application specific integrated circuit), an FPGA (field programmablegate array), or a hardware accelerator, processing circuitry or thelike. According to one example embodiment, processor 505 may berepresentative of a plurality of processors, or one or more multiplecore processors, operating in concert. Further, the processor 505 may becomprised of a plurality of transistors, logic gates, a clock (e.g.,oscillator), other circuitry, and the like to facilitate performance ofthe functionality described herein. The processor 505 may, but need not,include one or more accompanying digital signal processors. In someexample embodiments, the processor 505 may be configured to executeinstructions stored in the memory device 510 or instructions otherwiseaccessible to the processor 505. The processor 505 may be configured tooperate such that the processor causes or directs the apparatus 500 toperform various functionalities described herein.

Whether configured as hardware or via instructions stored on acomputer-readable storage medium, or by a combination thereof, theprocessor 505 may be an entity and means capable of performingoperations according to example embodiments while configuredaccordingly. Thus, in example embodiments where the processor 505 isembodied as, or is part of, an ASIC, FPGA, or the like, the processor505 may be specifically configured hardware for conducting theoperations described herein and the algorithms described herein.Alternatively, in example embodiments where the processor 505 isembodied as an executor of instructions stored on a computer-readablestorage medium, the instructions may specifically configure theprocessor 505 to perform the algorithms and operations described herein.In some example embodiments, the processor 505 may be a processor of aspecific device (e.g., mobile communications device) configured foremploying example embodiments by further configuration of the processor505 via executed instructions for performing the algorithms, methods,and operations described herein.

The memory device 510 may be one or more tangible and/or non-transitorycomputer-readable storage media that may include volatile and/ornon-volatile memory. In some example embodiments, the memory device 510comprises Random Access Memory (RAM) including dynamic and/or staticRAM, on-chip or off-chip cache memory, and/or the like. Further, memorydevice 510 may include non-volatile memory, which may be embedded and/orremovable, and may include, for example, read-only memory, flash memory,magnetic storage devices (e.g., hard disks, floppy disk drives, magnetictape, etc.), optical disc drives and/or media, non-volatile randomaccess memory (NVRAM), various type of solid-state storage (e.g., flashmemory), and/or the like. Memory device 510 may include a cache area fortemporary storage of data. In this regard, some or all of memory device510 may be included within the processor 505. In some exampleembodiments, the memory device 510 may be in communication with theprocessor 505 and/or other components via a shared bus. In some exampleembodiments, the memory device 510 may be configured to provide securestorage of data, such as, for example, the characteristics of thereference marks, in trusted modules of the memory device 510.

Further, the memory device 510 may be configured to store information,data, applications, computer-readable program code instructions andalgorithms, and/or the like for enabling the processor 505 and theexample apparatus 500 to carry out various functions in accordance withexample embodiments described herein. For example, the memory device 510may be configured to buffer input data for processing by the processor505. Additionally, or alternatively, the memory device 510 may beconfigured to store instructions for execution by the processor 505.

The I/O interface 506 may be any device, circuitry, or means embodied inhardware or a combination of hardware and software that is configured tointerface the processor 505 with other circuitry or devices, such as theuser interface 525. In some example embodiments, the I/O interface mayembody or be in communication with a bus that is shared by multiplecomponents. In some example embodiments, the processor 505 may interfacewith the memory 510 via the I/O interface 506. The I/O interface 506 maybe configured to convert signals and data into a form that may beinterpreted by the processor 505. The I/O interface 506 may also performbuffering of inputs and outputs to support the operation of theprocessor 505. According to some example embodiments, the processor 505and the I/O interface 506 may be combined onto a single chip orintegrated circuit configured to perform, or cause the apparatus 500 toperform, various functionalities.

In some embodiments, the apparatus 500 or some of the components ofapparatus 500 (e.g., the processor 505 and the memory device 510) may beembodied as a chip or chip set. In other words, the apparatus 500 maycomprise one or more physical packages (e.g., chips) includingmaterials, components and/or wires on a structural assembly (e.g., abaseboard). The structural assembly may provide physical strength,conservation of size, and/or limitation of electrical interaction forcomponent circuitry included thereon. The apparatus 500 may therefore,in some cases, be configured to implement embodiments on a single chipor as a single “system on a chip.” As such, in some cases, a chip orchipset may constitute means for performing the functionalitiesdescribed herein and with respect to the processor 505.

The user interface 525 may be in communication with the processor 505 toreceive user input via the user interface 525 and/or to present outputto a user as, for example, audible, visual, mechanical, or other outputindications. The user interface 525 may include, for example, akeyboard, a mouse, a joystick, a display (e.g., a touch screen display),a microphone, a speaker, camera, accelerometer, or other input/outputmechanisms. Further, the processor 505 may comprise, or be incommunication with, user interface circuitry configured to control atleast some functions of one or more elements of the user interface. Theprocessor 505 and/or user interface circuitry may be configured tocontrol one or more functions of one or more elements of the userinterface through computer program instructions (e.g., software and/orfirmware) stored on a memory accessible to the processor 505 (e.g.,volatile memory, non-volatile memory, and/or the like). The userinterface 525 may also be configured to support the implementation ofhaptic feedback. In this regard, the user interface 525, as controlledby processor 505, may include a vibra, a piezo, and/or an audio deviceconfigured for haptic feedback as described herein. In some exampleembodiments, the user interface circuitry is configured to facilitateuser control of at least some functions of the apparatus 500 through theuse of a display and configured to respond to user inputs. The processor505 may also comprise, or be in communication with, display circuitryconfigured to display at least a portion of a user interface, thedisplay and the display circuitry configured to facilitate user controlof at least some functions of the apparatus 500.

The user interface 525 may include at least a first user interfacedevice 526 and a second user interface device 527. According to variousexample embodiments, the first user interface device 526 may be a touchscreen display configured and disposed in the same manner as touchscreen display 110. Further, the second user interface device 527 may bea touch sensitive stripe configured and disposed in the same manner astouch sensitive stripe 115.

The user interface manager 540 of example apparatus 500 may be any meansor device embodied, partially or wholly, in hardware, a computer programproduct, or a combination of hardware and a computer program product,such as processor 505 implementing stored instructions to configure theexample apparatus 500, memory device 510 storing executable program codeinstructions configured to carry out the functions described herein, ora hardware configured processor 505 that is configured to carry out thefunctions of the user interface manager 540 as described herein. In anexample embodiment, the processor 505 comprises, or controls, the userinterface manager 540. The user interface manager 540 may be, partiallyor wholly, embodied as processors similar to, but separate fromprocessor 505. In this regard, the user interface manager 540 may be incommunication with the processor 505. In various example embodiments,the user interface manager 540 may, partially or wholly, reside ondiffering apparatuses such that some or all of the functionality of theuser interface manager 540 may be performed by a first apparatus, andthe remainder of the functionality of the user interface manager 540 maybe performed by one or more other apparatuses.

Further, the apparatus 500 and the processor 505 may be configured toperform various functionalities via user interface manager 540. In thisregard, the user interface manager 540 may be configured to implementsome or all of the operations and functionality described herein. Forexample, the user interface manager 540 may be configured to implementthe functionality described above with respect to FIGS. 1A through 4,and otherwise described above. Further, according to some exampleembodiments, the user interface manager 540 may be configured to performthe operations described in FIG. 7 and described variations thereof. Inthis regard, referring to FIG. 7, the user interface manager 540 may beconfigured to receive, at 700, first data navigation instructions fornavigating data in a first dimension or a second dimension via a firstuser interface device. The first data navigation instructions may bereceived via the first user interface device in response to userinteraction with the first user interface device in a first planedefined by a first surface of an electronic device (e.g., front face).Additionally, the second user navigation instructions may be receivedvia the second user interface device in response to user interactionwith a second user interface device in a second plane. The second planemay be substantially orthogonal to the first plane, for example, wherethe second user interface device is disposed on a side edge of anelectronic device. Alternatively, the second plane may be substantiallyparallel to the first plane and defined by a second surface of theelectronic device, such as the back face of the electronic devices. Theuser interface manager 540 may also be configured to, at 710, cause apresentation of the data (e.g., on the touch screen display) to bemodified within the first dimension or the second dimension in responseto at least receiving the first data navigation instructions. Further,the user interface manager 540 may also be configured to receive, at720, second data navigation instructions for navigating the data in athird dimension via a second user interface device, and cause, at 730,the presentation of the data to be modified within a third dimension inresponse to at least receiving the second data navigation instructions.

According to some example embodiments, the user interface manager 540may be alternatively or additionally configured to receive the firstuser navigation instructions via the first user interface device inresponse to user interaction with the first user interface device in afirst plane. Further in this regard, the user interface manager 540 maybe configured to receive the second user navigation instructions via thesecond user interface device in response to user interaction with asecond user interface device in a second plane that is substantiallyorthogonal to the first plane. In this regard, the use of the term“substantially” is intended to cover unintended variations in therelationship that can be attributed to, for example, manufacturing flawsor inconsistencies.

Additionally or alternatively, according to some example embodiments,the user interface manager 540 may be configured to receive the firstuser navigation instructions via the first user interface device, wherethe first user interface device is a touch screen display disposed on afront surface (front face) of an electronic device, and configured toreceive the second user navigation instructions via the second userinterface device, where the second user interface device is a touchsensitive stripe disposed on a side edge surface of the electronicdevice. Additionally or alternatively, the user interface manager 540may be configured to cause the presentation of data to be digitallyzoomed in or zoomed out in response to at least receipt of the seconddata navigation instructions or modified with respect to time inresponse to at least receipt of the second data navigation instructions.Additionally or alternatively, user interface manager 540 may beconfigured to receive the first data navigation instructions to define adata point with respect to the first and second dimensions, receive thesecond data navigation instructions to define the data point withrespect to the third dimension. Further, in this regard, the userinterface manager 540 may be configured to cause the presentation of thedata to be rotated about the data point or manipulated at the datapoint, in response to at least receiving third data navigationinstructions.

Referring now to FIG. 6, a more specific example apparatus in accordancewith various embodiments is provided. The example apparatus of FIG. 6 isa mobile device 10 configured to communicate within a wireless network,such as a cellular communications network. The mobile device 10 may beconfigured to perform the functionality of the electronic device 100 orapparatus 500 as described herein. More specifically, the mobile device10 may be caused to perform the functionality described with respect toFIGS. 1A through 4, 7, and otherwise described above, via the processor20. In this regard, according to some example embodiments, the processor20 may be configured to perform the functionality described with respectto the user interface manager 540. Processor 20 may be an integratedcircuit or chip configured similar to the processor 505 together with,for example, the I/O interface 506. Further, volatile memory 40 andnon-volatile memory 42 may be configured to support the operation of theprocessor 20 as computer readable storage media.

The mobile device 10 may also include an antenna 12, a transmitter 14,and a receiver 16, which may be included as parts of a communicationsinterface of the mobile device 10. The speaker 24, the microphone 26,touch screen display 110, and the touch sensitive stripe 115 may beincluded as parts of a user interface.

FIG. 7 illustrate flowcharts of example systems, methods, and/orcomputer program products according to example embodiments. It will beunderstood that each operation of the flowcharts, and/or combinations ofoperations in the flowcharts, can be implemented by various means. Meansfor implementing the operations of the flowcharts, combinations of theoperations in the flowchart, or other functionality of exampleembodiments described herein may include hardware, and/or a computerprogram product including a computer-readable storage medium (as opposedto a computer-readable transmission medium which describes a propagatingsignal) having one or more computer program code instructions, programinstructions, or executable computer-readable program code instructionsstored therein. In this regard, program code instructions for performingthe operations and functions of FIG. 7 and otherwise described hereinmay be stored on a memory device, such as memory device 510, volatilememory 40, or volatile memory 42, of an example apparatus, such asexample apparatus 500 or mobile device 10, and executed by a processor,such as the processor 505 or processor 20. As will be appreciated, anysuch program code instructions may be loaded onto a computer or otherprogrammable apparatus (e.g., processor 505, memory device 510, or thelike) from a computer-readable storage medium to produce a particularmachine, such that the particular machine becomes a means forimplementing the functions specified in the flowcharts' operations.These program code instructions may also be stored in acomputer-readable storage medium that can direct a computer, aprocessor, or other programmable apparatus to function in a particularmanner to thereby generate a particular machine or particular article ofmanufacture. The instructions stored in the computer-readable storagemedium may produce an article of manufacture, where the article ofmanufacture becomes a means for implementing the functions specified inthe flowcharts' operations. The program code instructions may beretrieved from a computer-readable storage medium and loaded into acomputer, processor, or other programmable apparatus to configure thecomputer, processor, or other programmable apparatus to executeoperations to be performed on or by the computer, processor, or otherprogrammable apparatus. Retrieval, loading, and execution of the programcode instructions may be performed sequentially such that oneinstruction is retrieved, loaded, and executed at a time. In someexample embodiments, retrieval, loading and/or execution may beperformed in parallel such that multiple instructions are retrieved,loaded, and/or executed together. Execution of the program codeinstructions may produce a computer-implemented process such that theinstructions executed by the computer, processor, or other programmableapparatus provide operations for implementing the functions specified inthe flowcharts' operations.

Accordingly, execution of instructions associated with the operations ofthe flowchart by a processor, or storage of instructions associated withthe blocks or operations of the flowcharts in a computer-readablestorage medium, support combinations of operations for performing thespecified functions. It will also be understood that one or moreoperations of the flowcharts, and combinations of blocks or operationsin the flowcharts, may be implemented by special purpose hardware-basedcomputer systems and/or processors which perform the specifiedfunctions, or combinations of special purpose hardware and program codeinstructions.

Many modifications and other embodiments set forth herein will come tomind to one skilled in the art to which these embodiments pertain havingthe benefit of the teachings presented in the foregoing descriptions andthe associated drawings. Therefore, it is to be understood that theembodiments are not to be limited to the specific ones disclosed andthat modifications and other embodiments are intended to be includedwithin the scope of the appended claims. Moreover, although theforegoing descriptions and the associated drawings describe exampleembodiments in the context of certain example combinations of elementsand/or functions, it should be appreciated that different combinationsof elements and/or functions may be provided by alternative embodimentswithout departing from the scope of the appended claims. In this regard,for example, different combinations of elements and/or functions otherthan those explicitly described above are also contemplated as may beset forth in some of the appended claims. Although specific terms areemployed herein, they are used in a generic and descriptive sense onlyand not for purposes of limitation.

What is claimed is:
 1. A method comprising: causing display of a firstportion of data provided by a time-based application, wherein the firstportion of data is arranged at a first perceived depth in athree-dimensional presentation, and the first portion of data is one ofa plurality of portions of data; causing display of a plurality ofrelevance category icons arranged within the three-dimensionalpresentation, wherein the plurality of relevance category icons aredefined relevance categories to broaden or lessen the plurality ofportions of data displayed within the three-dimensional presentation;receiving first data navigation instructions for navigating theplurality of portions of data in a first dimension or a second dimensionvia a first user interface device configured for user input; in responseto at least receiving the first data navigation instructions, causingthe plurality of portions of data to be presented with respect to aparticular temporal unit selected from a group comprising one of amonth, day, or time and causing the plurality of portions of data to bepresented with respect to a particular relevance category icon selected;receiving second data navigation instructions for navigating theplurality of portions of data in a third dimension by modifying a depthaspect such that perceived depth of the plurality of portions data ismodified, the depth aspect has an associated temporal characteristicwithin a duration of the temporal unit, the navigating the plurality ofportions of data in the third dimension is based on a supplemental userinput to a second user interface device, the supplemental user inputcomprising a movement substantially orthogonal to the first userinterface device configured for user input, wherein the second userinterface device is on a second plane that is different from a firstplane of the first user interface device; and in response to at leastreceiving the second data navigation instructions, causing thethree-dimensional presentation of the plurality of portions of data tobe modified within the third dimension, wherein modifying the data inthe third dimension comprises causing display of a second portion ofdata of the plurality of portions of data at a second perceived depth inthe three-dimensional presentation, the second portion of dataidentified by the time-based application based on a calculated relevancewith respect to a time associated with the second portion of data,wherein the time associated with the second portion of data is definedwithin the duration of the temporal unit.
 2. The method of claim 1,wherein the second plane is substantially orthogonal to the first plane.3. The method of claim 1, wherein receiving the first data navigationinstructions includes receiving the first user navigation instructionsvia the first user interface device, the first user interface devicebeing a touch screen display disposed on a front surface of anelectronic device; and wherein receiving the second data navigationinstructions includes receiving the second user navigation instructionsvia the second user interface device, the second user interface devicebeing a touch sensitive stripe, a roller wheel, a trackball, opticaltrackpad, a two-way slider, or rocker button disposed on a side edgesurface of the electronic device.
 4. The method of claim 1, wherein thesecond portion of e-data is identified based on a sequential navigationof the plurality of portions of data.
 5. The method of claim 1, furthercomprising: receiving third data navigation instructions for navigatingthe plurality of portions of data in the third dimension via the seconduser interface device, wherein the third data navigation instructioncomprise an indication of a movement in a direction substantiallyopposite to a direction of the second data navigation instructions; andin response to receiving the third data navigation instructions, causingthe first portion of data to be redisplayed and the second portion ofdata to no longer be displayed.
 6. An apparatus comprising: at least oneprocessor; and at least one memory comprising computer program code, theat least one memory and the computer program code configured to, withthe at least one processor, cause the apparatus at least to: causedisplay of a first portion of data provided by a time-based application,wherein the first portion of data is arranged at a first perceived depthin a three-dimensional presentation, and the first portion of data isone of a plurality of portions of data; cause display of a plurality ofrelevance category icons arranged within the three-dimensionalpresentation, wherein the plurality of relevance category icons aredefined relevance categories to broaden or lessen the plurality ofportions of data displayed within the three-dimensional presentation;receive first data navigation instructions for navigating the pluralityof portions of data in a first dimension or a second dimension via afirst user interface device configured for user input; in response to atleast receiving the first data navigation instructions, causing theplurality of portions of data to be presented with respect to aparticular temporal unit selected from a group comprising one of amonth, day, or time and causing the plurality of portions of data to bepresented with respect to a particular relevance category icon selected;receive second data navigation instructions for navigating the pluralityof portions of data in a third dimension by modifying a depth aspectsuch that perceived depth of the plurality of portions of data ismodified, the depth aspect has an associated temporal characteristicwithin a duration of the temporal unit, the navigating the plurality ofportions of data in the third dimension is based on a supplemental userinput to a second user interface device, the supplemental user inputcomprising a movement substantially orthogonal to the first userinterface device configured for user input, wherein the second userinterface device is on a surface different from a surface of the firstuser interface device; and in response to at least receiving the seconddata navigation instructions, cause the three-dimensional presentationof the plurality of portions of data to be modified within the thirddimension, wherein modifying the plurality of portions of data in thethird dimension comprises causing display of a second portion of data ata second perceived depth in the three-dimensional presentation, thesecond portion of the data identified by the time-based applicationbased on a calculated relevance with respect to a time associated withthe second portion of the data, wherein the time associated with thesecond portion of data identified is defined within the duration of thetemporal unit.
 7. The apparatus of claim 6, wherein the apparatus causedto receive the first data navigation instructions includes beingconfigured to receive the first user navigation instructions via thefirst user interface device, the first user interface device being atouch screen display disposed on a front surface of an electronicdevice; and wherein the apparatus caused to receive the second datanavigation instructions includes being caused to receive the second usernavigation instructions via the second user interface device, the seconduser interface device being a touch sensitive stripe, a roller wheel, atrackball, optical trackpad, a two-way slider, or a rocker buttondisposed on a side edge surface of the electronic device.
 8. A computerprogram product comprising at least one non-transitory computer readablemedium having program code stored thereon, wherein the program code,when executed by an apparatus, causes the apparatus at least to: causedisplay of a first portion of data provided by a time-based application,wherein the first portion of data is arranged at a first perceived depthin a three-dimensional presentation, and the first portion of data isone of a plurality of portions of data, wherein the first portion ofdata is arranged at a first perceived depth, and the first portion ofdata is one of a plurality of portions of data; cause display of aplurality of relevance category icons arranged within thethree-dimensional presentation, wherein the plurality of relevancecategory icons are defined relevance categories to broaden or lessen theplurality of portions of data displayed within the three-dimensionalpresentation; receive first data navigation instructions for navigatingthe plurality of portions of data in a first dimension or a seconddimension via a first user interface device configured for user input;in response to at least receiving the first data navigationinstructions, causing the plurality of portions of data to be presentedwith respect to a particular temporal unit selected from a groupcomprising one of a month, day, or time and causing the plurality ofportions of data to be presented with respect to a particular relevancecategory icon selected; receive second data navigation instructions fornavigating the plurality of portions of data in a third dimension bymodifying a depth aspect such that perceived depth of the plurality ofportions of data is modified, the depth aspect has an associatedtemporal characteristic within a duration of the temporal unit, thenavigating the plurality of portions of data in the third dimension isbased on a supplemental user input to a second user interface device,the supplemental user input comprising a movement substantiallyorthogonal to the first user interface device configured for user input,wherein the second user interface device is on a surface different froma surface of the first user interface device; and in response to atleast receiving the second data navigation instructions, cause thethree-dimensional presentation of the plurality of portions of data tobe modified within the third dimension, wherein modifying the data inthe third dimension comprises causing display of a second portion ofdata plurality of portions of at a second perceived depth in thethree-dimensional presentation, the second portion of data identified bythe time-based application based on a calculated relevance with respectto a time associated with the second portion of data, wherein the timeassociated with the second portion of data identified is defined withinthe duration of the temporal unit.
 9. The computer program product ofclaim 8, wherein the program code that causes the apparatus to receivethe first data navigation instructions also causes the apparatus toreceive the first user navigation instructions via the first userinterface device, the first user interface device being a touch screendisplay disposed on a front surface of an electronic device; and whereinthe program code that causes the apparatus to receive the second datanavigation instructions also causes the apparatus to receive the seconduser navigation instructions via the second user interface device, thesecond user interface device being a touch sensitive stripe, a rollerwheel, a trackball, optical trackpad, a two-way slider, or a rockerbutton disposed on a side edge surface of the electronic device.